package com.webserver.core;

import com.webserver.http.HttpServletRequest;

import java.io.IOException;
import java.io.InputStream;
import java.net.Socket;
import java.util.HashMap;
import java.util.List;

/**
 * 当前线程任务负责与指定的客户端进行交互
 * 1解析请求
 * 2处理请求
 * 3发送响应第四步
 * 当一个客户端连接进入这个线程上就相当与接通一个电话然后进行上面三部操作
 */
public class ClientHandler implements Runnable {
    //定义一个套接字(电话)属性第五步
    private Socket socket;
    //构造方法里面赋值 第六步
    public ClientHandler(Socket socket) {
        this.socket = socket;
    }

    @Override
    public void run() {

        try {
           //解析请求第二十三步
            HttpServletRequest request = new HttpServletRequest(socket);
            String path = request.getUri();
            System.out.println("抽象路径"+path);
            //处理请求



            //发送响应


        } catch (IOException e) {
            e.printStackTrace();
        }finally {

            try {
                //交互完毕断开连接
                socket.close();
            } catch (IOException e) {
                e.printStackTrace();
            }

        }

    }

}
